Copyright: RANGOON Help ® 1990-1995, Rudy Muller


Help Index
Rangoon Help Index

The Index lists all Rangoon Help topics.

To learn how to use Help, choose Using Help from the Help menu, or press F1.

Rangoon the game of solitaire

Overview.

Rules of the Game.

Variants of the Game.

Strategy and Hints.

Concealing.

Blockade.

No delay.

Rangoon on your PC

Playing the Game.

Automatic Play.

Other multimoves.

Button Panel.

Video Panel.

Keyboard.

Administration

Scoring.

History.

Options.

Tournament Play.

Commands

Menu commands.

Administration Menu.

Game Menu.

Move Menu.

Help Menu.

Interfaces

Command-line.

Profile.

Export File.


Overview

Rangoon is a solitaire card game played with 52 cards.  After shuffling the deck, the cards will be laid down face up in four horizontal rows of thirteen cards each.  Subsequently the four kings are taken up, and put down in front of the rows, leaving four gaps in the rows.

The object is to rearrange the cards by using the gaps, such that each row contains all the cards of the same suit in the correct order.  A card can be moved to a gap, provided the card is one lower rank than the card in front of the gap.  Four gaps are created by moving the kings after the deal.

The game ends when no more card can be moved.

Although all the cards are shown, and in spite of its simple rules it is a challenge to find the strategy to win a game.


The Rules of the Game

Just three rules define the play after laying out the tableau of cards in the four horizontal rows of thirteen face-up cards.

The first rule describes how to move the kings to the head of the rows. The kings are moved in a fixed order: -king is located on the upper row, [image] -king on the second row, [image] -king on the third, and [image] -king on the bottom row.

The second rule describes how to move the other cards.

A move is bound to just one single rule: a card may be moved to a gap provided the card in front of that gap is its predecessor.  So the eight of [image] can be moved to the gap behind the seven of [image].  Four such gaps are created by moving the four kings.  By moving a card to a gap another gap is created, at the position which was occupied by the just moved card.  That gap can be used to move another card, and so on.

The third rule defines when the game is over.  The game is over when no more moves are possible, so when all for gaps are behind an ace, or behind another gap.

With skill or luck -or even both of them-, you might have finished the game properly and created four rows with all cards ranked. In most cases, however, you will have been stuck before.  You may consider yourself a skilled player when you are successful in one out of 100 games.

In the "standard" mode of  the program the above rules are enhanced with the triple-deal option, one of the many known variants.  With two more deals, a skilled player can win over 50 % of the games.


Variants of the Game
Variants

The game of Rangoon is known in many variants and under various names.  For all of the three rules one or more variants exist.

A number of variants applies on the king-move rule.  Both the location of the kings and the time of the move vary.

Variants of the king-location:

-	A fixed location is assigned to each of the kings.

-	The location of the king is defined by the order of their appearance during the deal.

-	The location of the kings is decided by the player.

Variants in the timing of the king-move:

-	The four kings are moved before any other card is moved.

-	The four kings are picked up, but "put on hold" till the player decides the location.

-	The move of all four kings does not have to precede the move of another card.

The program moves the kings to a fixed location automatically.

Also the second rule, defining how the other cards may be moved is subject of a variation: a card may be moved either behind its predecessor or in front of its successor (not supported by the program).

Another variant gives the opportunity to once (or even more than once) deal all unordered cards when the game is ceased (and provided all families are not completed yet).  The number of extra deals may vary from none (single deal mode) till infinite (so you will always end up with all cards in order).  An extra deal is done by picking up all unordered cards along with the last ordered card of each row; those cards are shuffled and put down again leaving one gap behind each of the remaining rows; finally the last-ranked cards (which were included in the shuffle) are moved up, thereby (a) restoring the ranking-situation from just before the shuffle, and (b) creating four new gaps in a random position to continue the play.

The extra dealing is available by means of the deal-option, the triple-deal (two extra deals) is offered in the standard mode of the program, whereas it is also the maximum allowed by the program.

At least four variants of card-ranking are known:

1. "King-Queen-Jack-10-...-3-2-Ace"

2. "Ace-King-Queen-Jack-10-...-3-2"

3. "Ace-2-3-...-10-Jack-Queen-King"

4. "2-3-...-10-Jack-Queen-King-Ace"

The first mentioned ranking is supported by the standard mode, the other ranking-variants are available by means of the ranking-option.

The last variant concerns the location of the head of a row, which can be located on the left (as supported by the standard mode) as well as on the right (as available by means of the rowhead-option).

Look-alike games are known under the name "Gaps" (sometimes played with less than 52 cards), and "Montana Aces" (where the gaps are created by removing the aces).


Strategy and Hints

When you have played a few games you may agree that the game looks simple, but it is not at all that easy.  Some simple guide-lines may be of help.

-	Concealing

The concealing of the "dangerous" aces to the back of the row.

-	Blockade

The avoidance of a blockade.

-	Delay

The immediate execution of a move which does not influence the further course of the game.


Strategy and hints (concealing)
Strategy and Hints: concealing

The number of possible moves is reduced as soon as a gap behind an ace pops up.  This could be avoided by moving the ace at the back of a row, where it can not do any harm.

Such an ace is nicely concealed; analogously a 'two' on the last-but-one location is in a favourable position.  An ace can only be legally concealed at the back of a row by moving it behind the 'two' in the last-but-one location.  If possible one ought to postpone the moving of such a favourable two until the ace is put behind it.

The same reasoning applies for a three (on the last-but-two location), the four, the five and so on.  One must try to postpone the moving of such a card until the successor is put behind it.  Therefore it is recommended to look at the start of game, if there are any cards on a favourable position, and to account for it in your strategy.


Strategy and hints (blockade)
Strategy and Hints: blockade

Besides awkward aces another danger exists: the blockade

- single :

-K	-Q	-10	......	......	-J

- dual :

-K	-Q	-J	-Q	......	......

-K	-10	......	......	......	......

- complex :

-K	......	......	......	......	-Q

-K	-J	......	......	......	......

-K	-Q	-J	-Q	......	......

-K	-10	......	......	......	......

In the first example the blockade might have originated from the situation:

-K	-J	<gap>	......	-Q	<gap>

by moving subsequently [image] -10, [image] -J and [image] -Q.

The blockade could have been prevented by first moving the [image] -J !!

A possible single blockade (the most common form of blockade) can be detected by the fact that a card resides in the row of the king with the same suit, and is located such that not all its predecessors can be fitted between the card and its king.

In the row below the [image] -8 might be blockading, the [image] -10 is not:

  	-K	-10	-8	-4	-10	......


Strategy and hints (don't delay)
Strategy and Hints: don't delay

If the moving of a card does not influence the course of the game, then perform that move right away, even if it would cause a gap behind an ace !! It just benefits to the overview, and in case of the ace-hole your attention is put once more to the danger.  The next situation gives an example:

-K	<gap>	......	-Q	-10	....

-K	<gap>	-J	......	......	-Q

-K	<gap>	......	-Q	......	......

-K	<gap>	......	-Q	-J	......

The [image] -Q can be moved without having any influence of the course of the game (there is no room to put [image] -J).  The same applies for [image] -Q (because [image] -J is already located behind it).  The moving of [image] -Q does influence the course of the game obviously (the possibility of moving [image] -J has been changed).

But beware, the moving of [image] -Q might give another direction to the game, although one would not assume that one first sight.


Playing the game

To start the Next Game:

-	From the Game menu, choose Next Game,

-	or press F2,

-	or click the Next Game button on the button-panel

To start a Selected Game:

-	From the Game menu, choose Start Game ....

You will be prompted for the number of the game you want to play.  If you agree with the presented default (the next game) just press enter, otherwise type a number from 1 to 32,765 (or the maximum allowed in the gameset).  If you have played the game before, the score is displayed, and you are asked if you want to play it again, to try to improve on that score.

Furthermore, you can start-up or replay a game from the [Admin]-[History] Menu.

To Deal Again:

-	From the Move menu, choose Deal cards

-	or press F3.

-	or click the deal button on the button-panel

To Move a Card:

-	Click on a card or on a gap,

-	or press the numeric key corresponding with a gap (1..4)

-	or click a number button on the button-panel

-	or drag a card to a gap.

To Back Up a Move:

-	Press the BACKSPACE key.

-	or click the Undo button on button-panel

To Back Up a Series of automatic moves:

-	Press the Shift and the BACKSPACE key

-	or click the Undo button on the button-panel

To Back Up to the previous deal:

-	From the Move menu, choose Back till deal

-	or press F4.

To Save a position

-	From the Move menu, choose Snapshot

-	or press F5.

To Restart from a saved position

-	From the Move menu, choose Rollback

-	or press F6.

To exit the game:

-	From the Game menu, choose Exit,

-	or press alt-F4,

-	or click the Exit Game button on button-panel

When the above text appears no more moves are possible.

You will then have the following options:

-	you can choose to play the next (or another) game,

-	or back up a (number of) move(s),

-	or back up till the last deal,

-	or restart from a saved position,

-	or have a cup of coffee,

-	or replay the game,

-	or exit the game

See also:

Automatic play

Other multimoves

Button panel


Automatic play

When there is only one possible move, you can choose the automatic play.  The program keeps on moving until the game is ceased (no more moves possible), or until the number of possible moves becomes more then one, so you can take over again.

Though automatic play is originally designed to take over the burden of going the complete chain of predestined moves involving one gap, the program can be instructed to offer the function also when there is more than one possible move (see AutoEnable option).  Choosing automatic play when there is more than one possible move will keep on moving until the game is ceased, or until the number of possible moves becomes more than the current number of possible moves.

Use of Automatic will speed up the game, when you have concluded that no matter what moves are made, the ultimate result will be the same.  But take care, automatic play when you have more than one possibility to move is not using an optimal strategy and might produce an undesired result.  Even when you think that it does not matter in which order the moves are made, it still may happen that an alternative strategy with unexpected result pops up, for worse (!) or for better (?).  It certainly baffled me more than once.

Starting automatic play at level "always" with four moves possible will only be stopped when no more moves are possible !!

To Start Automatic Play:

Click the Auto button on button-panel

To Stop Automatic Play:

Click the Stop button on button-panel,

or press Esc.

See also:

Button panel

Private Profile (topic AutoLevel)


Other multi moves
Repetitive move

Becomes handy when doing a sequence of moves involving the same gap, and can be considered as a dedicated automatic move.  The program keeps on moving until the gap is after an ace, or after another gap.

To Start Repetitive Move:

Click on a card or on a gap while holding down the Ctrl key.

or click on a number-button while holding down the Ctrl key.

or press both the Ctrl and a numeric key corresponding with a gap (1..4)

To Stop Repetitive Move:

Click the Stop button on button-panel,

or press Esc.

Completion move

Becomes handy when doing a sequence of moves to put a number of cards on the final target position.  The program keeps on moving until no more "final-target-move" can be made for the involved suit.

To Start Completion Move:

Click on a king while holding down the Ctrl key.

To Stop Completion Move:

Click the Stop button on button-panel,

or press Esc.

See also:

Button panel


the Button Panel
Button Panel

The Button Panel groups all playing controls at the bottom at the screen, so you don't need to chase the mouse all over the screen.

The exit-game button is only enabled at the end the game, and can be used to stop playing.  See also Game menu

The nth-deal button is only enabled when the player is allowed to deal (again), in its disabled state it can be examined by the player to check out how many deals have been done yet.  See also Move Menu

The start-game button is shared with the deal button and is only available when the automatic start option is disabled at the start of the session.  It can be used to start up the (next) game.

The next-game button is shared with the deal button and is only enabled at the end of the game.  It can be used to start up the next game.  See also Game Menu

The history button is shared with the deal button and is only available when all games of a gameset (e.g. a tournament) have been completed.  It can be used to get a view at the statistics.  See also History.

The undo button can be used to backup the previous move-action, which is either one single move, a complete sequence of automatic moves, or a secondary deal; even at the end of a game the undo button is enabled.

The auto button can be used to let the program do the moves, see also Automatic play

The stop button is shared with the auto-button, and can be used to stop a multimove (as a result of an automatic move, a repetitive move, or a completion move), or the undo of a multimove.  When the stop-button is visible it can also be activated by pressing Esc.

The four number buttons can be used to move a card to a gap, and are especially useful when doing a number of moves involving the same gap.  They also show which gaps can be filled, and which cannot because they are behind an ace or behind another gap.

Please take notice of the fact that usage of the button panel will allow you play faster, but also diverts your attention from the cards towards the buttons !!

The Move Counter shows the number of moves completed.


the Replay Panel
Replay Panel

The Replay Panel groups all buttons to control replaying, and is used for the various replay actions incorporated in the program:

-	to replay an archived game.

-	to view an imported game.

-	to replay a previous interrupted game at program start-up.

The initial state of the panel is determined by the initiating action:

-	"pause" at replay of an archived game.

-	">" (play) at view of an imported game (shown below).

-	">>" (flush) at replay of an interrupted game.

The buttons on the lower row can be used to control the speed (slow or fast) and the direction (forward, backward) of the replay.  The buttons on the upper row determine how to stop the replay.

The pause button can be used to temporary hold the replaying.

The single step buttons (marked >| and |<) can be used for single step replay.  The >| plays one step forward, the |< plays one step backward.

The play buttons (marked > and <) can be used for slow replay, the time between two moves is defined by the AutoDelay option.  The > button plays forward, the < button plays backward.

The flush button (marked >>) can be used for fast replay, the time between two moves is derived from the AutoDelay (to be precise: the 8th fraction of it) option.

The rewind button (marked <<) can be used to rewind, the time between two moves is identical to the flush.

The accept button must be used to stop the replay and take over the action which initiated it:

-	when replaying an archived game, the player is able to continue the game manually.

-	when viewing an imported game, the view is stopped; however, the player is not able to continue the game.  Instead the program will continue to view the next game (if any).

-	when replaying a previous interrupted game at program start-up, the player is enabled to continue the game manually.

The cancel button must be used to stop the replay and cancel the action which initiated it.

-	when replaying an archived game, the program returns to the statistics form.

-	when viewing an imported game, the viewing of the game is stopped.

-	when replaying a previous interrupted game at program start-up, the player has to play the game from scratch.

Pressing Esc has the same effect as clicking the cancel button.

The Move Counter shows the number of moves completed.


Usage of Keyboard

This section gives a summary of the keys which can be used:

-	1..4	move card to gap 1..4

-	ctrl +	1..4	repetitive move.

-	F1	call for help (standard windows)

-	F2	start next game

-	F3	deal unranked cards

-	F4	back till deal

-	alt +	F4	exit Rangoon

-	F5	save a position for rollback

-	F6	rollback to a saved position

-	F7	view / change options

-	F8	get history

-	Bkspc	undo one move

-	shift +	Bkspc	undo one move / automatic series

By toggling the numeric keys with your left hand (and provided you've still got four fingers) and using the right hand to press to enter key, you can play the game at real turbo speed.


Scoring

The scoring of Rangoon is based upon the following three components:

- the position score:

1 point for each card moved to the final position, while all cards before that card are also on the final position (e.g. -jack is the third card in the row headed by [image] -king, and is preceded by [image] -queen).

- the sequence score:

1 point for each card positioned behind its predecessor.; depending on the score calculation method all cards (:AllSeq), or just the cards on a final position (PosOnly) are considered.

- the row bonus score:

1 point for each completed family.

When the game is ended successfully, exactly 100 points are gathered (48 position-points, 48 sequence-points and 4 row-bonus-points).

The AllSeq score calculation method is typically used in single deal mode; whereas the PosOnly method is typical for double and triple deal mode.  However, you are free to use the method you prefer;  you are even allowed to change it after playing a number of games, the program will automaticly perform a recalculation on your history.

The current score is displayed in the title-line.

A list of all scores is maintained in a special file which can be viewed, see History for further details.


History

The history of all played games is administered in some file(s) in a dedicated directory (see PlayID).  You can look up the scores of the played games by choosing History from the Admin menu (or by pressing F8).

A list of (up to 21) games with global information is shown on the left, and on the right top the detailed information of the game highlighted in the left list is shown, and on the right bottom the overall statistics.

The global information is kept in one line per game and consists of:

o	a move-recorded indicator (a small dot)

o	the game number

o	the score

o	the number of completed families (a asterisk)

The detailed information displays the same information in a friendlier way, and furthermore it shows the number of deals needed in case the game was completed successfully.

You can show the details of another game by selecting (clicking) it.

The selected game can be replayed.  The game can be played again from scratch by pushing the play button, or by choosing Play Game from the Game Menu.  When the moves are recorded you can also play back the game by pushing the replay button, or by choosing Replay Game from the Game Menu (see ReplayPanel)

Gaps may appear in the list.  This means that you have not played the games sequentially, but explicitly choose to play one or more games which were not adjacent to the current played range of games.  The gap will be filled in time, because Rangoon by itself will always choose the first unplayed game.  A gap is reported by a <not played> line in the list (and is also reflected by the text of the replay-button being changed into "play").

The selected not-played game can be played by pushing the play button, or by choosing Play Game from the Game Menu.

When the moves of the selected game are recorded you can export the game to an text-file by clicking the export-button, or by choosing Export Game from the Game-menu.  You will be prompted for the name of the file to which the game is exported (default "gam<nr>.txt").  When you specify the name of an existing file the export-text will be appended.

When all games of a gameset have been completed, the complete gameset can be exported to an text-file by clicking the export-button, or by choosing Export from the Admin-menu.


Options

When activated the window shows a basic set of game-attributes and play-preferences which can be updated; (all of) the other options can be made visible and subject of update by using the ShowOpt command.

The game attributes are related to a gameset, and must be known before a gameset can be started.  Some attributes (like the PlayID and NrDeal) can only be defined once, others (like UserName and RecorderLevel) can be updated.

The play-preferences only effect the look and feel of the program, not the game itself (e.g. the index shown on the cardface of the kings, queens, jacks and aces).

The maintenance of the options can happen (1) explicitly by one of the [Admin] commands, or (2) implicitly by starting the program with a fresh PlayID.

Maintaining the game-attributes consists of:

-	creating a new gameset

-	selecting an existing gameset

-	deleting a gameset.

-	updating the attributes of a gameset

When you are satisfied with the selection as given, or as updated press the Accept-button, when you decide to leave things as they were, you can return by clicking the Cancel-button.

The changes will be recorded automatically in the private profile.

PlayID

Specifies the current PlayID and is shown under the header "PlayID".

When started from the [Admin]-[Create] command, a new PlayID has to be typed.  If the standard PlayID ("RANGOON") is selected, the NrDeals is set to "triple", the NrGames is set to 32765, and the TournamentOptions are both off.  If another PlayID is selected, the player has to define the NrDeals and the NrGames.

When started from the [Admin]-[Select] command, a selection from the existing ID's has to be made by clicking the down-arrow and choosing the wanted item.

When started from the [Admin]-[Delete] command, a selection from the existing ID's has to be made by clicking the down arrow and choosing the item to be deleted.  The selected item will be deleted after clicking the Accept-button.  The standard PlayID ("RANGOON") cannot be deleted.

When started from the [Admin]-[Options] command, the current PlayID is shown.

UserName

The name (and other information) of the player which will be recorded in the export-file, and is used for identification and for authentication.

NrGames

Specifies the number of games related to the PlayID (or rather a Tournament with that PlayID).  The current value is shown under the header "NrGames".  A new choice can be made typing a number less than 32765.

The option is not available for the standard PlayID "RANGOON".

NrDeals

Specifies the number of deals available to complete a game.  The current value is shown (single / double / triple) under the header "NrDeals", a new selection can be made by clicking the down-arrow and choosing the wanted mode.

This option is one of the options which affects the course of the game.  Altering it will in fact make it a different game, and so it is only available when setting the attributes for a new PlayID.

The option is not available for the standard PlayID "RANGOON".

CheatLevel

Specifies the level of cheating tolerated by the program.

At "minimal" level one is allowed to undo a single mistake.

At "modest" level one is allowed to start a game from scratch again.

At "maximal" level all kinds of "cheating" is allowed (replay a game, undo a number of moves, mark a position, restart from a deal).

When the TournamentParticipate option is selected, the CheatLevel cannot been changed anymore, once a game of the tournament has been played.

AutoLevel

Specifies the level up to which the automatic play is enabled.

At level "basic" automatic play is enabled when there is just one move possible.

At level "never" automatic play is permanently disabled, at level "always" automatic play is permanently enabled.

At level "2" and "3" automaticly play is enabled when there are at most 2 (resp 3) moves possible.

Scoring

Specifies the method to calculate the score (see also Scoring).

At PosOnly only the sequence-points of the cards on a final position are counted.

At AllSeq the sequence-points of all cards are counted.

Its value is adapted automaticly when the NrDeal option is changed.

Tournament Mode

Enables a player to participate in or moderate a tournament.

You must set the mode to "play" to participate in a tournament; you must set the mode to

"moderate" to manage the administration of a tournament.

If the participate mode is selected, the RecorderLevel is set to "All".  The option is only available when setting the attributes of a new PlayID.  The option is not available for the standard PlayID "RANGOON".

RecorderLevel

Specifies the score-level at which a game is recorded automatically.

The recorder-level can vary from 0 to 101, and can be altered by using the horizontal scroll bar; the chosen recorder-level is shown in the box behind the scroll-bar.  By choosing level 0 all games are recorded automatically (shown in the box as "All").  At level 100 only the successfully completed games are recorded automatically.  At level 101 there is no automatic recording (shown in the box as "Off").

When the Tournament-mode is set to "play", the RecorderLevel is automatically set to "All", and cannot be changed.

Automatic Start

This option can be made visible by the sub-command [More] - [Moving].  It activates / deactivates the automatic-start option

When the automatic-start option is active, the next game will automatically be presented when the program is started.  When the automatic-start option is not active, the program remains in the opening-screen at start-up time with the start-game button enabled.

Animated Move

This option can be made visible by the sub-command [More] - [Moving].  It activates / deactivates the animated move option

When the animated move option is active, the move of a card will be animated; the speed of the move is determined by the MoveDelay.

When the animated-move option is inactive, the card is "teleported" rather than moved.

Manual Drag

This option can be made visible by the sub-command [More] - [Moving].  It activates / deactivates the manual drag option

When the manual-drag option is active, you will have to drag a card manually, and drop it on a gap (or the card before the gap).

Indices

This option can be made visible by the sub-command [More] - [Indices].  You may change the indices when you are not satisfied with the standard Anglo-American ones on the card-faces of the kings, queens, jacks and aces.  The current selection is shown by the text as well as by the set of four cards under the header "CardIndices".

You can select another set of indices, by clicking the down-arrow and the desired item.  The four cards will still show the pattern based on the Anglo-American deck, but with the choosen card-indices.  Though mixing the Anglo-American patterns with continental lettering is improper from a historic point of view, you may prever it to the given standard.

When the requested card-indices are not supported in the list, you can choose your own set of indices by means of a topic in the private profile.

Back

This option can be made visible by the sub-command [More] - [Back].  When dealing the cards, Rangoon will first put out the cards face down, so the card-back is shown.  Rangoon can also be instructed to show a card face up right away.

You can select your own favourite cardback by clicking it (the favourite card-back (if any) is highlighted, all other cards are shaded).  You can instruct Rangoon to choose one randomly by clicking the radio-button marked "random" (all card-backs are highlighted), or you can instruct Rangoon to show the cards faced up right away by clicking the radio-button labelled "none" (all card-backs are shaded).

Ranking, RowHead and SuitSequence

Especially when you know the game already, and have played it with a real deck of cards, you might not like the default ranking , the location of the head of the row, or the suit-sequence, because you were used to another variant.

You can select your favourite ranking by clicking the down-arrow under the header "Ranking", and choosing the wanted item.  The "<" denotes a ranking with the row headed left, the ">" a ranking with the row headed right.  You can select your favourite rowhead by clicking the down-arrow under the header "Rowhead", and choosing the wanted item; the choise is depicted also under Ranking.

You can change the suit-sequence by "dragging" one of the suits under the header "SuitSequence": click on a suit, and while holding down the button, drag the suit-icon to the position you prefer.  Releasing the button will drop the suit in that position.

Note that the selected preferences do not change the course of the game, it merely changes the presentation of the cards.  So instead of the [image] -king (in standard mode) on the leftmost position of the upper row, the [image] -ace will be displayed when selecting the ranking "<<AKQ..32" and suit-sequence " [image] - [image] - [image] - [image] ".

Colors

The color of the window (background) and of the gap-icon (foreground) may be changed.  The current selection is shown in box under Colors.  By clicking the outer part of the box a selection-dialogue for the background-color is started, by clicking the inner part of the box the selection dialogue for the foreground color is started.

DelayTimes

These options can be made visible by the sub-command [More] - [Moving].  They specify the amount of time the program will delay before issuing the next action, and is specified in milliseconds.  The AutoDelay is used between two subsequent automatic moves; the DealDelay is used between dealing two cards; the MoveDelay defines the average time of an animated move.

The delay-times can vary from 0 to 2 seconds, and can be altered by using the horizontal scroll bars; the chosen delay-time is shown in the box behind the scroll-bar.  Note that the accuracy on a PC is approximately 1/20 seconds.


Tournament Play
Tournament Play.

The program does not feature tournament-play, it merely offers some basic tools to play or to moderate a tournament.  The organisation of a tournament is still in the hands of human: a number of people forming the Tournament Committee (T.C.) has to define the gameset, will announce the tournament, collect the scores of the participants and publish the final result.

To give equal changes to everybody a gameset is defined by:

-	A 5-character tournament-name (same games for everybody)

-	The number of games (same amount for everybody)

-	The deal-mode (single, double or triple) (same rules for everybody)

-	The cheat-level (minimal, modest or maximal) (same handicap for everybody)

(note that other play-options (e.g. ranking or suitseq) do not influence the course of the game, and can be chosen freely by the participants).

The T.C. will much likely also define a closing date and the method to collect the scores of the participants (e.g. by eMail), and announce all the above Rules-of-the-Tournament (e.g. by a note on a BBS).

The participants will play the games (according the announced rules) and send their results to the T.C.  The T.C. will collect the scores of the participants, and publish the result (e.g. as follow-up note on a BBS).

To participate a player has to create a new gameset with the proper attributes (PlayID, NrGames, NrDeal and TournamentPlay).  After playing all games the Tournament score must be exported to an text-file by using the [Admin]-[Export] command.  Subsequently that file can be delivered to the T.C.

To moderate a tournament the T.C. will have to create a special tournament-gameset with the proper attributes (PlayID, NrGames, NrDeal and TourModerate).  The program offers two extra commands for a "moderated" PlayID:

[Admin]-[Import] to perform a basic validation on a delivered export-file, and to append the scores to a result-file.

[Admin]-[Verify] to perform an extensive validation on a delivered export file, by replaying the games one by one.


Menu Commands

Game

The game-menu gathers the functions on game level (start game, replay game, export game, view game, exit).

Move

The move-menu gathers the functions to be used within a game, with the emphasis on the functions allowing you to restart the game at a specific point.

Admin

The Admin-menu gathers the functions available on a gameset., for handling the game-attributes and play-preferences, getting the statistics, and the tournament facilities export, import and verify.

Help

The help-menu gathers the functions providing information.


Admi commands
Admin Menu Commands

The Admin-command gathers a number of functions on the current gameset identified by the PlayID.

Create

To create a new gameset.  You may want a new gameset, because:

-	You share the computer (or at least the disc-storage) with (an)other Rangoon player(s), and want your own administration.  Even if you keep the administration file(s) on a floppy this reason is applicable (since there is also information in the (common) private profile RANGOON.INI

-	You want to play with a non-standard game (e.g. with single deal-mode).

-	You have played all 32765 games of the standard version (?!).

-	You want to participate in a tournament.

-	You want to moderate a tournament.

Be aware that the choice of the PlayID has impact on the games to play !!

Select

To make another gameset current.

However, the recommended way to distinguish between the available gamesets is by using Windows' Program Manager to create a separate program-item for each gameset, and specifying the playid on as well the command-line (to let the program know which playid to use) as in the description-line (appearing under the icon)

Delete

To remove a gameset.  You will be prompted if you really meant to remove the concerned playid before any removal is done.  Upon an affirmative response all administration files (named ADM<num>.IQ<x>) are removed from the administration directory (named <playid>).  If that directory becomes empty it will be removed also.  Furthermore, the section in the private profile is removed.

Finally the current playid is set to the standard playid "RANGOON".

Options

To show / update the Options.

Deck

Groups the functions on the deck bitmap-file.

Load Deck.

The command can be used to change the deck-of-cards.  You will be prompted for the bitmap-file representing a card-deck (see also Profile at the item CardDeck).  The rangoon window will be resized automatically.

Fix Deck.

In some occasions the card-deck cannot be build properly from the "prefab" format.  By using this command a (substantial !) slower method is used to assemble the deck.  Therefore the FixDeck command implies a SaveDeck.

Save Deck.

The command is only useful when the current card-deck file is in "prefab" format.  Building the complete card-deck will take some time when starting up the program;  the SaveDeck command can be used to save the assembled card-deck to a bitmap-file, which will be used automatically at the next start-up.

History

To show the History.

Tournament

Groups the tournament specific admin functions

Export

To export the history of the current gameset (see also ExportFile).

Only available when the TournamentPlay option is set.

Import

To import an exported history.

Only available when the TournamentModerate option is set.  It performs a basic validation and authentication, and will append a result-line to a list-of-scores file.

Verify

To validate an exported history.

Only available when the TournamentModerate option is set.  It performs a more extensive validation by replaying the games one-by-one.


Game commands
Game Menu Commands

Next Game

Starts the next game.

Start Game nr ...

You are prompted for the number of the game to be started.

Replay Game

The current game is replayed from scratch, you can break the replay at any moment and take over manually.  See also replay

Export Game

If you wish to export an unfinished game the program will ask you if it was your intention to do a export.  See also history and export

View Game

To view a number of exported games.

Full Screen

Use the complete screen for Rangoon.

Exit

Exits Rangoon

If you wish to exit in the middle of a game the program will ask you if you want to save the game in order to be continued at another time.


Move commands
Move Menu Commands

Deal cards

Deals again all unranked cards.

Back till deal

Backs up to the previous deal.

Snapshot

To save a position for rollback.  Note that a rollback position is lost as soon as you backtrack past that point.

Rollback

To restart at the position saved by Snapshot.


Help commands
Help Menu Commands

Index

Gives you the help you are reading now (starting at the index).

Keyboard

Gives you the help about the keyboard-usage.

Commands

Gives you the help about the command-menus

Procedures

Gives you the help about the current mode of the program (playing, replaying, ...)

Help

Gives you the information how to use the help-facility of Windows

Memo

Just a memorandum from the author.

About

Gives the header of the information-file (raninfo.txt) supplied with the package.


Rangoon

The name of the game is originated from the Dutch word "Rangeerstation" (= shunting-yard), being a name under which this solitaire game is known in the Netherlands.  I've added an extra "o" to give the name an oriental touch.


Predecessor

A predecessor is the card of the same suit with a next higher rank, for example: the predecessor of [image] -8 is [image] -9, the predecessor of [image] -10 is [image] -jack, the predecessor of [image] -ace is [image] -2.

Unlike a regular monarchy, a king does not have a predecessor.

There is no card of which the ace is a predecessor.


Rank

The ranking of the cards within Rangoon is: King, Queen, Jack, Ten, Nine, Eight, Seven, Six, Five, Four, Three, Two, Ace.

Three other variants are available by means of the ranking-option:

Ace, King, Queen, Jack, Ten, ..., Three, Two

Ace, Two, Three, ..., Ten, Jack, Queen, King

Two, Three, ..., Ten, Jack, Queen, King, Ace


Family

A family consist of all the cards of the same suit.  A completed family is a family which is ranked according the rules of the game.  For rangoon in standard mode the completed family of [image] consists of [image] -king, [image] -queen, [image] -jack, [image] -10, [image] -9, [image] -8, [image] -7, [image] -6, [image] -5, [image] -4, [image] -3, [image] -2, [image] -ace.


Head-of-the-Row

The head of the row is at the leftmost of the thirteen cards in each row.  At the beginning of the game the card with the highest rank is put there.

A second variant (the rightmost position) is available by means of the rowhead-option.


Suit sequence

The sequence of the suits when moving the Kings to the head of the row is: Spades, Hearts, Diamonds, Clubs.  All other variants of suit-sequence are available by means of the suitseq-option.


CardIndices

The index of the card in the corner of each card shows a variation from country to country.  The program supports the Latin-characters as well as a number of other characters, which can be specified by the indices-topic in the private profile:

"1".."9"	numbers 1..9

"a":	Cyrillic K (used for the russian king)

"b"	Cyrillic D (used for the russian queen)

"c"	Cyrillic B (used for the russian jack)

"d"	crowned K (used for nordic king)

"e"	small cap D (used for nordic queen)

"f"	small cap K(n) (used for nordic jack)

"g"	E(s) (used for nordic ace)

"h"	capital A accent-grave

"i"	capital A accent-acute

"j"	capital A diaresis

"i".."s"	reserved

"-"	no index

The special characters below identify a complete set of card-indices, the ranking determines which index will be shown on the card:

"#":	numeric indices-set: 1 (ace), 2..10, 11 (jack), 12 (queen) or 13 (king)

"$"	1st alternate indices-set  (reserved)

"%"	2nd alternate indices-set  (reserved)


Play-identification

The PlayID identifies a gameset, and is its most prominent attribute.

The first 5 characters of the play-identification are used to build the game-base.  The game-base and the game-nr are used to "shuffle" the deck.  All players using the same game-base play exactly the same games.  In tournament mode the game-base is also influenced by other game-attributes.

The following 3 characters of the play-identification can be used to distinguish between a number of players, whereas each player has his/hers own gameset(s) and play-identification(s).

When started, the Program of Rangoon accepts the PlayID as the first (and only) parameter on the command-line.  If not specified the PlayID is fetched from the PlayID topic in the common section [rangoon] of rangoon's profile.

If not specified in the profile either the standard PlayID "Rangoon" is used.

The PlayID is restricted to 8 alphanumeric characters and is used to gather all

information of each play-set:

o	the play-options in section [<playid>] of rangoon's profile.

o	the statistics in directory <randir>\<playid>.


Gameset

A sequence of games defined by the game-attributes and play-preferences.

A gameset is defined by the game-attributes PlayID, NrGames and NrDeals, and is identified by the PlayID.

By setting the game-attribute TournamentPlay a gameset is upgraded to a tournament.  By also setting the game-attribute TournamentModerate a gameset can be used as an administration tool for moderating a tournament.


Creating a new tournament gameset

From outside windows:  go to the directory in which rangoon resides, and type

"win rangoon <playid> <dealmode> <nrgames> T <cheat>"

From inside windows:  use program manager to make a new program item with command-line:

"...\rangoon.exe <playid> <dealmode> <nrgames> T <cheat>"

From within rangoon:  choose [Create] from the [Admin] menu.


Moderating a new tournament gameset

From outside windows:  go to the directory in which rangoon resides, and type

"win rangoon <playid> <dealmode> <nrgames> M <cheat>"

From inside windows:  use program manager to make a new program item with command-line:

"...\rangoon.exe <playid> <dealmode> <nrgames> M <cheat>"

From within rangoon:  choose [Create] from the [Admin] menu.


Dragging a card

When the ManualDrag option is choosen, you are able to drag the cards manually, and drop the card on either a gap, or on the card before a gap.  If you drop the card on an illegal position it will be pulled back to its original position.

Dragging is the method of moving an object on the screen, by clicking on an object, and then moving it while holding down the mouse-button.

Dropping is the method of repositioning an object on the screen by releasing the mouse-button after dragging.


Command line interface

By means of the command-line with a number of arguments MS/Windows is instructed which program must be started (the first argument denotes the location of the program) and to pass some parameters to the program.  The program of RANGOON uses the command-line parameters to overrule some topics in the private-profile RANGOON.INI

The first parameter denotes the play-identification.

If the play-identification is unknown yet, the program accepts five more arguments in arbitrary order to pre-set the basic game-attributes:

-	the deal-mode  (single or D1, double or D2, triple or D3)

-	the number of games  (7..32765)

-	the tournament option  (T)

-	the cheat-level (minimal or C1, modest or C2, maximal or C3)

-	the moderate option  (M)

If the play-identification is already known, the given parameters are ignored.

The command line "RANGOON.EXE  APRIL1  Single  101  T  Max" defines a tournament gameset of 101 games with single deal-option and the identification APRIL1, it allows all cheats.

The command-line can be specified from outside windows by simply adding it to a MS/DOS command-line to start windows:  "win <command-line>".

The command-line can be specified from inside windows by using the program manager when creating a new program-item, or updating the properties of an existing item.


Players Profile
Profile

The context of the program is maintained in a private profile file named "rangoon.ini", and controls various topics.  The program will keep the profile up-to-date with the game in progress, and will also record the options changed at run-time.  The other topics can be changed by a text-editor (e.g. NotePad).

Within the profile one is able to build private sections, each of which denoting a set of controlling topics, and identified by a PlayID.

Topics in the general section [rangoon]:

RanDir

The RanDir directory is used to gather the administration for the program.  By default the program uses the working directory (for MS/Windows 3.0 this is the directory where the .EXE file is located, for MS/Windows 3.1 it is the Working Directory related with the program).

CardDeck

The images of the cards and the cardbacks used by rangoon are kept in a bitmap-file.  By default the program uses the file ran41x55.bmp in the RanDir directory targeted for the standard VGA (640x480).  Rangoon comes with four additional decks: ran41x41.bmp for an EGA,  alt41x55.bmp for the standard VGA (640x480) with oversized card-indices, ran51x69.bmp for a 800x600 screen, and ran61x85.bmp for a 1024x756 screen.

PlayScreen

The size and position of the screen used for the tableau of cards expressed in "twips".  Rather than changing the value by means of an editor, you can move or enlarge the tableau at runtime on the standard windows-method (e.g. grabbing one of the edges and pulling it to the wanted size), or by using the FullScreen option of the Game command.  The size of the playing card will be adapted (x2, x3, ...) automatically.  By default the program uses 9600x6210 for a standard VGA (640x480x16).

HelpFile

The helpfile contains the very text you are now reading.  By default the program uses the file rangoon.hlp in the RanDir directory.

InfoFile

The information file is a plain text file which is delivered with the program, and which can be displayed in the "About-box".  By default the program uses the file raninfo.txt in the RanDir directory.

CardIndices

The indices shown on the card-faces of the aces, kings, queens and jacks are selected through a (4-)character indices-code.  By default the Anglo-American card-indices on the CardDeck (AKQJ) are used.

PlayID

This topic specifies the most recent used PlayID.  The value is used when the command-line did not specify a play-identification explicitly.  By default the program uses the playid "Rangoon".

The remaining topics below are fetched from the section [<PlayID>] in the private profile.

The topics in the private section [<PlayID>] below can be incorporated by means of a text-editor. It is advised though to use Options from the Admin command.

CardBack

The cardback shown during dealing the cards.  By default the program chooses a cardback randomly (value 0).  The values 1..8 correspond with a specific card-back, all other values will instruct the program to show the cards faced up right away.

BackColor

Defines the RGB-color of the background in the game-tableau.  By default the background color is dark-green (&H8000&).

TextColor

Defines the RGB-color of the text against the background defined by BackColor.  By default the text color is light-grey (&HC0C0C0).

Ranking

A one-digit value denoting the ranking of the cards.

value 0: King, Queen, Jack, 10, ..., 3, 2, Ace

value 1: Ace, King, Queen, Jack, 10, ..., 3, 2

value 2: Ace, 2, 3, ..., 10, Jack, Queen, King

value 3: 2, 3, ..., 10, Jack, Queen, King, Ace

By default the value is 0.

Rowhead

A one-digit value denoting the location of the head of a row.

value 0: head of the row is on the left.

value 1: head of the row is on the right.

By default the value is 0.

Suitseq

A number denoting the suit order, when moving the highest ranked card in front of the rows.  By default the value is 0.

AutoLevel

Denotes the number of possible moves at which the automatic-option is enabled.  By default the level of possible moves is one (value 1).

AutoStart

At program activation the program will automatically start the next game when the option play (value 1) is defined (quick start option).  By default the start option is none (value 0).

ShowMove

Denotes if the "animated move" option is active.  When active (value 1) the card is moved over the screen, rather then "teleported".  By default the show-move option is inactive (value 0).

DragCard

Denotes if the "manual drag" option is active.  When active (value 1) the player is able to drag the card around the screen.  By default the manual-drag option is inactive (value 0).

RecorderLevel

Denotes the score-level at which the game is recorded automatically.  By default the value is 100 (only record the successfully completed games).  Its value may be overruled by the TournamentPlay option.

AutoDelay

Denotes the delay-time to perform one move when playing automatic.  By default the delay-value is 333 (1/3 second).

DealDelay

Denotes the delay-time to turn a card face-up when dealing the cards.  By default the delay-value is 125 (1/8 second).

MoveDelay

Denotes the average time to perform a animated move.  By default the delay-value is 500 (1/2 second).

AnimateRate

The AnimateRate determines the speed of an animated move.  It expresses the number of frames in the movie of the average move, and is tuned from the MoveDelay.  Changing the value of this item is not advised; the program just uses it as a start-value, when tuning the actual frame-rate at runtime (according the value of the MoveDelay).

SavedGame

If you did exit in the middle of a game, the program will save the progress, so you are able to continue the interrupted game at another time.  Do not change the value of this item by means of an editor (other than to an empty value) !!

See example.


Example of RANGOON.INI

Two gamesets are defined one is the standard "Rangoon", the second is a tournament of 24 games named "TourBob".

Note that the section [rangoon] contains both the generic information (CardDeck and PlayID) and specific information (AutoStart, AutoLevel,..).

[rangoon]

CardDeck=d:\wingames\bitmaps\ran61x85.bmp

PlayID=TourBOB

AutoStart=1

AutoLevel=4

[TourBOB]

AutoLevel=2

BackColor=&H8000

TextColor=&HFFFFFF

RecorderLevel=0


Export File

The history of all (or a number of) games of a gameset can be exported to a plain text-file (named <playid>.TXT).  The file contains a header with the global information about the gameset and the player:

PlayID: <playid>

#-Deal: <nr>

Player: <name>

&.....: <additional info>

and a number of lines with the information specific for each game:

[<gamenr>] <nrdeal> : <total> (<pos>+<seq>+<row>) &H<cc>

<recorded-moves>

Do not change the PlayerInfo, or the RecordedMoves or the magic-numbers (&Hnnnn) because those are used for the validation and authentication check procedure !

The header for an exported tournament contains three more information-lines:

TourID: <playid>

#-Deal: <nr>

#-Game: <nr>

Score : <nr>

Compl : <nr>

Player: <name>

&.....: <additional info>

See example.


Example of export-file RANGOON.TXT

This export-file shows the result of the first three games of the standard "Rangoon"-gameset.

PlayID: RANGOON

#-Deal: 3

Player: Rudy Muller

[00001] 2 : 100 (48+48+4) &H235E

B6C6D1BC3E3CD2E2BD5EDE4D7CDC4EBEBEBEBEDBEDEDEDE1CDECEC

3D7C1DC1DA6F

[00002] 3 : 100 (48+48+4) &H525B

C2B01E8C3D2CDCD3B1CBD3C2DC2ECECECED2BCE1B6CB1CB1EB1DEC

BDB3E5DECD1B1D2EDED1CEFF

[00003] 3 : 100 (48+48+4) &H1926

EBE5DEDEDE9CE4D1C1DCD1EB6C3B4CBCBECECEB1CED2E3D3E3C1B3

DC2D8EB1D1B1EBECBECBEBCF